
Gutta Percha
|
Posted - 2008.10.20 21:10:00 -
[1]
It's time to put this "bug" crap to rest once and for all.
As a programmer of 45+ years I can see very clearly that this was never a bug. In fact, it had been the simplest, most elegant implementation of time-based "training" possible:
For the type of training Eve has had, several fields were added to the char info in the database:
Current Skill: [database key of the skill] Completion date/time: [date/time]
Any number of individual skill records subordinate to the char store the ID of each skill and the SP or percentage of "progress." The subordinate record for the current skill tracked in the char info doesn't have to be updated until examined at the next login, and then either set to "completed" or "100%", and then only if the skill step has been "completed."
If a skill is not actively paused, the static completion date/time means that a waiting period is being imposed. The skill step can only be used after the waiting period has expired. In reality, it's not "training" -- it's a wait. And not even a game wait. It's an out-of-game calendar wait.
Note that an entry in the database of a completion date/time requires no work. There is no actual ongoing process of "training." Rather, in the mechanics of the game, the training completion is a foregone conclusion that will be discovered at some future time when the Eve client connects and discovers that the date/time for completion has passed.
Meanwhile, the apparency of ongoing training... the countdown and progress bar in the Char Sheet... are illusions created in the Eve client.
This mechanism for managing training that works by calendar/clock time instead of in-game actions is elegant. It requires no work or effort on the part of the servers. In fact, the server cluster could go up in smoke, a new cluster could be built over the course of days, weeks or a month, and in the end no "training" will have been lost because the "training" is not a process but merely a recorded completion date/time.
Now... an elegant mechanism like this is automatically going to "train" while you are offline and, yes, while you are unsubscribed. Nothing is given away for free. Everything needed has been paid for and done under and active subscription, and only the calendar waiting period must run its course before the skill step can be used. And then only if you actually log in again.
This elegant mechanism was designed this way to minimize the impact of training on the servers. It's beautiful. Anything different would be inelegant and probablly horrible.
So now they have broken that elegant mechanism by the addition of new code... code that forcibly puts a skill into the "paused" state when an account is marked as inactive. This is more work for the servers than before. It is more work for the database than before. It is less elegant, less perfect, and wholly artificial.
CCP is now penalizing us for something that formerly cost them nothing, and in doing so are going to extra effort, going out of their way to set training steps to a paused state. In effect they seek to charge us for a calendar waiting period for a skill we have already paid for and had to be active and online to initiate.
|